import { defineStore, storeToRefs } from "pinia"

// const store = globalStore()
const cookieName = import.meta.env.VITE_COOKIE_AUTH

// https://pinia.vuejs.org/introduction.html#a-more-realistic-example

type StateInfo = {
  count: number
}

const globalStore = defineStore('store', {
  state() {
      const data : StateInfo = {
        count: 0, // for test
      }
      return data
  },

  getters: {
    getCounter: (state) => { // for test
      console.log('this.counter', state)
      return state.count
    },
    //=====
  },

  actions: {
    addCounter (delta:number) { // for test
      this.count += delta
    },   
    //=====
  }

})


// const store = null // 不要提前调用此函数创建对象
// console.log('store', store)
// storeToRefs(store) // 在需要使用的地方转换内部数据为响应式数据
export default globalStore

// 下面的方式可以直接返回一个 store 和 storeRef 对象, 只需要在 setup 函数中调用一次
// 返回一个匿名函数，不立即调用，需要在setup中使用
// export default () => { 
//   const store = globalStore()
//   return {
//     store, 
//     storeRef: storeToRefs(store)
//   }
// }



